iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
自我挑戰組

來用Laravel做點什麼吧系列 第 23

D23 超簡易版FB - CRUD(1)

  • 分享至 

  • xImage
  •  

今天要搞定Create!

先來處理資料庫,使用Migration建立資料表。

php artisan make:migration create_posts_table

除了預設的欄位之外再加一個content欄位來存放內文。

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->increments('id');
        $table->string('content');
        $table->timestamps();
    });
}

然後下個migrate指令執行。

四張表ヽ( ° ▽°)ノ

接著是新增一個Model檔來使用:

php artisan make:model Post

先一切從簡,只有指定資料表暫時不動時間戳記。

class Post extends Model
{
    protected $table = 'posts';
}

OK,資料庫準備就緒,回到Controller!先看看直接寫入能不能新增資料到資料庫去,用Route來試。

use App\Post;

public function create()
{
    $post = new Post;
    $post->content = 'My first post.';
    $post->save();
}
// web.php
Route::get('/post_test', 'UserController@create');


↓↓↓↓↓↓↓↓↓↓↓↓↓

成功!

現在我在home.blade.php上增加一個區塊放Form。

<div class="card-body">
    <form method="POST" action="create">
        @csrf
        <input type="text" name="content">
        <button type="submit" class="btn btn-primary">POST</button>
    </form>
</div>

它現在會看起來像這樣↓

Controller也要做點修正,我們將原本的文字改成接收Request裡的字串,資料存進資料庫後重新導回 http://localhost/home

// UserController.php
public function create(Request $request)
{
    $post = new Post;
    $post->content = $request->input('content');
    $post->save();
    return redirect()->route('home');
}

來試看看。

大成功!!!!!!(只是這個時間誤差⋯⋯


上一篇
D22 超簡易版FB - CRUD(0)
下一篇
D24 超簡易版FB - CRUD(2)
系列文
來用Laravel做點什麼吧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言